#!/bin/bash

# GraphRAG 反应器知识平台启动脚本

echo "=== GraphRAG 反应器知识平台启动脚本 ==="
echo ""

# 检查conda环境
if ! command -v conda &> /dev/null; then
    echo "❌ 错误: 未找到conda命令，请先安装Anaconda或Miniconda"
    exit 1
fi

# 检查grag环境
if ! conda env list | grep -q "grag"; then
    echo "❌ 错误: 未找到grag conda环境"
    echo "请先创建并配置grag环境，包含必要的Python依赖"
    exit 1
fi

# 检查环境变量
if [ -z "$DASHSCOPE_API_KEY" ]; then
    echo "❌ 错误: 未设置DASHSCOPE_API_KEY环境变量"
    echo "请设置您的DashScope API Key:"
    echo "export DASHSCOPE_API_KEY='your-api-key'"
    exit 1
fi

echo "✅ 环境检查通过"
echo ""

# 启动后端服务
echo "🚀 启动后端服务..."
cd backend

# 激活conda环境并启动Flask
gnome-terminal --title="GraphRAG Backend" -- bash -c "
    conda activate grag
    echo '后端服务启动中...'
    echo '访问地址: http://localhost:5001'
    echo '按 Ctrl+C 停止服务'
    echo ''
    python app.py
    echo '后端服务已停止'
    read -p '按任意键关闭此窗口...'
" &

sleep 3

# 启动前端服务
echo "🚀 启动前端服务..."
cd ../frontend

# 检查是否已安装依赖
if [ ! -d "node_modules" ]; then
    echo "📦 首次运行，安装前端依赖..."
    npm install
fi

# 启动前端开发服务器
gnome-terminal --title="GraphRAG Frontend" -- bash -c "
    echo '前端服务启动中...'
    echo '访问地址: http://localhost:3000'
    echo '按 Ctrl+C 停止服务'
    echo ''
    npm run dev
    echo '前端服务已停止'
    read -p '按任意键关闭此窗口...'
" &

echo ""
echo "✅ 服务启动完成！"
echo ""
echo "📋 访问信息:"
echo "   前端界面: http://localhost:3000"
echo "   后端API:  http://localhost:5001"
echo ""
echo "🛑 停止服务: 在各个终端窗口中按 Ctrl+C"
echo ""

# 等待用户输入
read -p "按任意键退出启动脚本..."

